/*
 * tring.cpp
 *
 *  Created on: Nov 1, 2014
 *      Author: burek
 */

namespace R4
{
	float LUT_sin[1024] =
	{
			0.000000f,
			0.006136f, 0.012272f, 0.018407f, 0.024541f, 0.030675f, 0.036807f, 0.042938f, 0.049068f, 0.055195f, 0.061321f, 0.067444f, 0.073565f, 0.079682f, 0.085797f, 0.091909f, 0.098017f, 0.104122f, 0.110222f, 0.116319f, 0.122411f, 0.128498f, 0.134581f, 0.140658f, 0.146730f, 0.152797f, 0.158858f, 0.164913f, 0.170962f, 0.177004f, 0.183040f, 0.189069f, 0.195090f,
			0.201105f, 0.207111f, 0.213110f, 0.219101f, 0.225084f, 0.231058f, 0.237024f, 0.242980f, 0.248928f, 0.254866f, 0.260794f, 0.266713f, 0.272621f, 0.278520f, 0.284408f, 0.290285f, 0.296151f, 0.302006f, 0.307850f, 0.313682f, 0.319502f, 0.325310f, 0.331106f, 0.336890f, 0.342661f, 0.348419f, 0.354164f, 0.359895f, 0.365613f, 0.371317f, 0.377007f, 0.382683f,
			0.388345f, 0.393992f, 0.399624f, 0.405241f, 0.410843f, 0.416430f, 0.422000f, 0.427555f, 0.433094f, 0.438616f, 0.444122f, 0.449611f, 0.455084f, 0.460539f, 0.465976f, 0.471397f, 0.476799f, 0.482184f, 0.487550f, 0.492898f, 0.498228f, 0.503538f, 0.508830f, 0.514103f, 0.519356f, 0.524590f, 0.529804f, 0.534998f, 0.540171f, 0.545325f, 0.550458f, 0.555570f,
			0.560662f, 0.565732f, 0.570781f, 0.575808f, 0.580814f, 0.585798f, 0.590760f, 0.595699f, 0.600617f, 0.605511f, 0.610383f, 0.615232f, 0.620057f, 0.624859f, 0.629638f, 0.634393f, 0.639124f, 0.643832f, 0.648514f, 0.653173f, 0.657807f, 0.662416f, 0.667000f, 0.671559f, 0.676093f, 0.680601f, 0.685084f, 0.689541f, 0.693971f, 0.698376f, 0.702755f, 0.707107f,
			0.711432f, 0.715731f, 0.720003f, 0.724247f, 0.728464f, 0.732654f, 0.736817f, 0.740951f, 0.745058f, 0.749136f, 0.753187f, 0.757209f, 0.761202f, 0.765167f, 0.769103f, 0.773010f, 0.776888f, 0.780737f, 0.784557f, 0.788346f, 0.792107f, 0.795837f, 0.799537f, 0.803208f, 0.806848f, 0.810457f, 0.814036f, 0.817585f, 0.821103f, 0.824589f, 0.828045f, 0.831470f,
			0.834863f, 0.838225f, 0.841555f, 0.844854f, 0.848120f, 0.851355f, 0.854558f, 0.857729f, 0.860867f, 0.863973f, 0.867046f, 0.870087f, 0.873095f, 0.876070f, 0.879012f, 0.881921f, 0.884797f, 0.887640f, 0.890449f, 0.893224f, 0.895966f, 0.898674f, 0.901349f, 0.903989f, 0.906596f, 0.909168f, 0.911706f, 0.914210f, 0.916679f, 0.919114f, 0.921514f, 0.923880f,
			0.926210f, 0.928506f, 0.930767f, 0.932993f, 0.935184f, 0.937339f, 0.939459f, 0.941544f, 0.943593f, 0.945607f, 0.947586f, 0.949528f, 0.951435f, 0.953306f, 0.955141f, 0.956940f, 0.958703f, 0.960431f, 0.962121f, 0.963776f, 0.965394f, 0.966976f, 0.968522f, 0.970031f, 0.971504f, 0.972940f, 0.974339f, 0.975702f, 0.977028f, 0.978317f, 0.979570f, 0.980785f,
			0.981964f, 0.983105f, 0.984210f, 0.985278f, 0.986308f, 0.987301f, 0.988258f, 0.989177f, 0.990058f, 0.990903f, 0.991710f, 0.992480f, 0.993212f, 0.993907f, 0.994565f, 0.995185f, 0.995767f, 0.996313f, 0.996820f, 0.997290f, 0.997723f, 0.998118f, 0.998476f, 0.998795f, 0.999078f, 0.999322f, 0.999529f, 0.999699f, 0.999831f, 0.999925f, 0.999981f, 1.000000f,
			0.999981f, 0.999925f, 0.999831f, 0.999699f, 0.999529f, 0.999322f, 0.999078f, 0.998795f, 0.998476f, 0.998118f, 0.997723f, 0.997290f, 0.996820f, 0.996313f, 0.995767f, 0.995185f, 0.994565f, 0.993907f, 0.993212f, 0.992480f, 0.991710f, 0.990903f, 0.990058f, 0.989176f, 0.988258f, 0.987301f, 0.986308f, 0.985278f, 0.984210f, 0.983105f, 0.981964f, 0.980785f,
			0.979570f, 0.978317f, 0.977028f, 0.975702f, 0.974339f, 0.972940f, 0.971504f, 0.970031f, 0.968522f, 0.966976f, 0.965394f, 0.963776f, 0.962121f, 0.960431f, 0.958703f, 0.956940f, 0.955141f, 0.953306f, 0.951435f, 0.949528f, 0.947586f, 0.945607f, 0.943593f, 0.941544f, 0.939459f, 0.937339f, 0.935184f, 0.932993f, 0.930767f, 0.928506f, 0.926210f, 0.923880f,
			0.921514f, 0.919114f, 0.916679f, 0.914210f, 0.911706f, 0.909168f, 0.906596f, 0.903989f, 0.901349f, 0.898674f, 0.895966f, 0.893224f, 0.890449f, 0.887640f, 0.884797f, 0.881921f, 0.879012f, 0.876070f, 0.873095f, 0.870087f, 0.867046f, 0.863973f, 0.860867f, 0.857729f, 0.854558f, 0.851355f, 0.848120f, 0.844854f, 0.841555f, 0.838225f, 0.834863f, 0.831470f,
			0.828045f, 0.824589f, 0.821103f, 0.817585f, 0.814036f, 0.810457f, 0.806848f, 0.803207f, 0.799537f, 0.795837f, 0.792107f, 0.788346f, 0.784557f, 0.780737f, 0.776888f, 0.773010f, 0.769103f, 0.765167f, 0.761202f, 0.757209f, 0.753187f, 0.749136f, 0.745058f, 0.740951f, 0.736816f, 0.732654f, 0.728464f, 0.724247f, 0.720003f, 0.715731f, 0.711432f, 0.707107f,
			0.702755f, 0.698376f, 0.693971f, 0.689540f, 0.685084f, 0.680601f, 0.676093f, 0.671559f, 0.667000f, 0.662416f, 0.657807f, 0.653173f, 0.648514f, 0.643832f, 0.639124f, 0.634393f, 0.629638f, 0.624859f, 0.620057f, 0.615231f, 0.610383f, 0.605511f, 0.600616f, 0.595699f, 0.590760f, 0.585798f, 0.580814f, 0.575808f, 0.570781f, 0.565732f, 0.560662f, 0.555570f,
			0.550458f, 0.545325f, 0.540171f, 0.534997f, 0.529803f, 0.524590f, 0.519356f, 0.514103f, 0.508830f, 0.503538f, 0.498228f, 0.492898f, 0.487550f, 0.482184f, 0.476799f, 0.471397f, 0.465976f, 0.460539f, 0.455083f, 0.449611f, 0.444122f, 0.438616f, 0.433094f, 0.427555f, 0.422000f, 0.416430f, 0.410843f, 0.405241f, 0.399624f, 0.393992f, 0.388345f, 0.382683f,
			0.377007f, 0.371317f, 0.365613f, 0.359895f, 0.354164f, 0.348419f, 0.342661f, 0.336890f, 0.331106f, 0.325310f, 0.319502f, 0.313682f, 0.307849f, 0.302006f, 0.296151f, 0.290285f, 0.284408f, 0.278520f, 0.272621f, 0.266713f, 0.260794f, 0.254866f, 0.248928f, 0.242980f, 0.237023f, 0.231058f, 0.225084f, 0.219101f, 0.213110f, 0.207111f, 0.201105f, 0.195090f,
			0.189069f, 0.183040f, 0.177004f, 0.170962f, 0.164913f, 0.158858f, 0.152797f, 0.146730f, 0.140658f, 0.134581f, 0.128498f, 0.122411f, 0.116319f, 0.110222f, 0.104122f, 0.098017f, 0.091909f, 0.085797f, 0.079682f, 0.073564f, 0.067444f, 0.061321f, 0.055195f, 0.049067f, 0.042938f, 0.036807f, 0.030675f, 0.024541f, 0.018407f, 0.012271f, 0.006136f, -0.000000f,
			-0.006136f, -0.012272f, -0.018407f, -0.024541f, -0.030675f, -0.036807f, -0.042938f, -0.049068f, -0.055195f, -0.061321f, -0.067444f, -0.073565f, -0.079683f, -0.085797f, -0.091909f, -0.098017f, -0.104122f, -0.110222f, -0.116319f, -0.122411f, -0.128498f, -0.134581f, -0.140658f, -0.146731f, -0.152797f, -0.158858f, -0.164913f, -0.170962f, -0.177004f, -0.183040f, -0.189069f, -0.195090f,
			-0.201105f, -0.207112f, -0.213110f, -0.219101f, -0.225084f, -0.231058f, -0.237024f, -0.242980f, -0.248928f, -0.254866f, -0.260794f, -0.266713f, -0.272622f, -0.278520f, -0.284408f, -0.290285f, -0.296151f, -0.302006f, -0.307850f, -0.313682f, -0.319502f, -0.325310f, -0.331106f, -0.336890f, -0.342661f, -0.348419f, -0.354164f, -0.359895f, -0.365613f, -0.371317f, -0.377007f, -0.382683f,
			-0.388345f, -0.393992f, -0.399624f, -0.405241f, -0.410843f, -0.416430f, -0.422000f, -0.427555f, -0.433094f, -0.438616f, -0.444122f, -0.449612f, -0.455084f, -0.460539f, -0.465977f, -0.471397f, -0.476799f, -0.482184f, -0.487550f, -0.492898f, -0.498228f, -0.503539f, -0.508830f, -0.514103f, -0.519356f, -0.524590f, -0.529804f, -0.534998f, -0.540172f, -0.545325f, -0.550458f, -0.555570f,
			-0.560662f, -0.565732f, -0.570781f, -0.575808f, -0.580814f, -0.585798f, -0.590760f, -0.595699f, -0.600616f, -0.605511f, -0.610383f, -0.615232f, -0.620057f, -0.624860f, -0.629638f, -0.634393f, -0.639125f, -0.643832f, -0.648515f, -0.653173f, -0.657807f, -0.662416f, -0.667000f, -0.671559f, -0.676093f, -0.680601f, -0.685084f, -0.689541f, -0.693972f, -0.698376f, -0.702755f, -0.707107f,
			-0.711432f, -0.715731f, -0.720003f, -0.724247f, -0.728464f, -0.732654f, -0.736817f, -0.740951f, -0.745058f, -0.749136f, -0.753187f, -0.757209f, -0.761202f, -0.765167f, -0.769103f, -0.773010f, -0.776888f, -0.780737f, -0.784557f, -0.788346f, -0.792107f, -0.795837f, -0.799537f, -0.803208f, -0.806848f, -0.810457f, -0.814036f, -0.817585f, -0.821103f, -0.824589f, -0.828045f, -0.831470f,
			-0.834863f, -0.838225f, -0.841555f, -0.844854f, -0.848121f, -0.851355f, -0.854558f, -0.857729f, -0.860867f, -0.863973f, -0.867046f, -0.870087f, -0.873095f, -0.876070f, -0.879012f, -0.881921f, -0.884797f, -0.887640f, -0.890449f, -0.893224f, -0.895966f, -0.898675f, -0.901349f, -0.903989f, -0.906596f, -0.909168f, -0.911706f, -0.914210f, -0.916679f, -0.919114f, -0.921514f, -0.923880f,
			-0.926210f, -0.928506f, -0.930767f, -0.932993f, -0.935183f, -0.937339f, -0.939459f, -0.941544f, -0.943593f, -0.945607f, -0.947586f, -0.949528f, -0.951435f, -0.953306f, -0.955141f, -0.956940f, -0.958704f, -0.960431f, -0.962121f, -0.963776f, -0.965394f, -0.966977f, -0.968522f, -0.970031f, -0.971504f, -0.972940f, -0.974339f, -0.975702f, -0.977028f, -0.978317f, -0.979570f, -0.980785f,
			-0.981964f, -0.983105f, -0.984210f, -0.985278f, -0.986308f, -0.987301f, -0.988258f, -0.989177f, -0.990058f, -0.990903f, -0.991710f, -0.992480f, -0.993212f, -0.993907f, -0.994565f, -0.995185f, -0.995767f, -0.996313f, -0.996820f, -0.997290f, -0.997723f, -0.998118f, -0.998476f, -0.998795f, -0.999078f, -0.999322f, -0.999529f, -0.999699f, -0.999831f, -0.999925f, -0.999981f, -1.000000f,
			-0.999981f, -0.999925f, -0.999831f, -0.999699f, -0.999529f, -0.999322f, -0.999078f, -0.998795f, -0.998476f, -0.998118f, -0.997723f, -0.997290f, -0.996820f, -0.996313f, -0.995767f, -0.995185f, -0.994565f, -0.993907f, -0.993212f, -0.992479f, -0.991710f, -0.990903f, -0.990058f, -0.989177f, -0.988258f, -0.987301f, -0.986308f, -0.985278f, -0.984210f, -0.983105f, -0.981964f, -0.980785f,
			-0.979570f, -0.978317f, -0.977028f, -0.975702f, -0.974339f, -0.972940f, -0.971504f, -0.970031f, -0.968522f, -0.966976f, -0.965394f, -0.963776f, -0.962121f, -0.960430f, -0.958703f, -0.956940f, -0.955141f, -0.953306f, -0.951435f, -0.949528f, -0.947586f, -0.945607f, -0.943593f, -0.941544f, -0.939459f, -0.937339f, -0.935183f, -0.932993f, -0.930767f, -0.928506f, -0.926210f, -0.923879f,
			-0.921514f, -0.919114f, -0.916679f, -0.914210f, -0.911706f, -0.909168f, -0.906596f, -0.903989f, -0.901349f, -0.898674f, -0.895966f, -0.893224f, -0.890449f, -0.887640f, -0.884797f, -0.881921f, -0.879012f, -0.876070f, -0.873095f, -0.870087f, -0.867046f, -0.863973f, -0.860867f, -0.857729f, -0.854558f, -0.851355f, -0.848120f, -0.844853f, -0.841555f, -0.838225f, -0.834863f, -0.831469f,
			-0.828045f, -0.824589f, -0.821102f, -0.817585f, -0.814036f, -0.810457f, -0.806847f, -0.803208f, -0.799537f, -0.795837f, -0.792107f, -0.788346f, -0.784557f, -0.780737f, -0.776888f, -0.773010f, -0.769103f, -0.765167f, -0.761202f, -0.757209f, -0.753187f, -0.749136f, -0.745058f, -0.740951f, -0.736816f, -0.732654f, -0.728464f, -0.724247f, -0.720002f, -0.715731f, -0.711432f, -0.707107f,
			-0.702754f, -0.698376f, -0.693971f, -0.689541f, -0.685084f, -0.680601f, -0.676093f, -0.671559f, -0.667000f, -0.662416f, -0.657807f, -0.653173f, -0.648514f, -0.643831f, -0.639124f, -0.634393f, -0.629638f, -0.624859f, -0.620057f, -0.615231f, -0.610383f, -0.605511f, -0.600616f, -0.595699f, -0.590759f, -0.585798f, -0.580814f, -0.575808f, -0.570780f, -0.565731f, -0.560661f, -0.555570f,
			-0.550458f, -0.545325f, -0.540171f, -0.534998f, -0.529804f, -0.524590f, -0.519356f, -0.514103f, -0.508830f, -0.503538f, -0.498228f, -0.492898f, -0.487550f, -0.482184f, -0.476799f, -0.471397f, -0.465976f, -0.460538f, -0.455083f, -0.449611f, -0.444122f, -0.438616f, -0.433094f, -0.427555f, -0.422000f, -0.416429f, -0.410843f, -0.405241f, -0.399624f, -0.393992f, -0.388345f, -0.382683f,
			-0.377007f, -0.371317f, -0.365613f, -0.359895f, -0.354163f, -0.348419f, -0.342661f, -0.336890f, -0.331106f, -0.325310f, -0.319502f, -0.313682f, -0.307849f, -0.302006f, -0.296151f, -0.290284f, -0.284407f, -0.278519f, -0.272621f, -0.266712f, -0.260794f, -0.254865f, -0.248928f, -0.242980f, -0.237024f, -0.231058f, -0.225084f, -0.219101f, -0.213110f, -0.207111f, -0.201105f, -0.195090f,
			-0.189069f, -0.183040f, -0.177004f, -0.170962f, -0.164913f, -0.158858f, -0.152797f, -0.146730f, -0.140658f, -0.134580f, -0.128498f, -0.122410f, -0.116318f, -0.110222f, -0.104121f, -0.098017f, -0.091909f, -0.085797f, -0.079682f, -0.073565f, -0.067444f, -0.061321f, -0.055195f, -0.049068f, -0.042938f, -0.036807f, -0.030675f, -0.024541f, -0.018407f, -0.012271f, -0.006136
	};

	float LUT_cos[1024] =
	{
			1.000000f,
			0.999981f, 0.999925f, 0.999831f, 0.999699f, 0.999529f, 0.999322f, 0.999078f, 0.998795f, 0.998476f, 0.998118f, 0.997723f, 0.997290f, 0.996820f, 0.996313f, 0.995767f, 0.995185f, 0.994565f, 0.993907f, 0.993212f, 0.992480f, 0.991710f, 0.990903f, 0.990058f, 0.989177f, 0.988258f, 0.987301f, 0.986308f, 0.985278f, 0.984210f, 0.983105f, 0.981964f, 0.980785f,
			0.979570f, 0.978317f, 0.977028f, 0.975702f, 0.974339f, 0.972940f, 0.971504f, 0.970031f, 0.968522f, 0.966976f, 0.965394f, 0.963776f, 0.962121f, 0.960431f, 0.958703f, 0.956940f, 0.955141f, 0.953306f, 0.951435f, 0.949528f, 0.947586f, 0.945607f, 0.943593f, 0.941544f, 0.939459f, 0.937339f, 0.935184f, 0.932993f, 0.930767f, 0.928506f, 0.926210f, 0.923880f,
			0.921514f, 0.919114f, 0.916679f, 0.914210f, 0.911706f, 0.909168f, 0.906596f, 0.903989f, 0.901349f, 0.898674f, 0.895966f, 0.893224f, 0.890449f, 0.887640f, 0.884797f, 0.881921f, 0.879012f, 0.876070f, 0.873095f, 0.870087f, 0.867046f, 0.863973f, 0.860867f, 0.857729f, 0.854558f, 0.851355f, 0.848120f, 0.844854f, 0.841555f, 0.838225f, 0.834863f, 0.831470f,
			0.828045f, 0.824589f, 0.821103f, 0.817585f, 0.814036f, 0.810457f, 0.806848f, 0.803208f, 0.799537f, 0.795837f, 0.792107f, 0.788346f, 0.784557f, 0.780737f, 0.776888f, 0.773010f, 0.769103f, 0.765167f, 0.761202f, 0.757209f, 0.753187f, 0.749136f, 0.745058f, 0.740951f, 0.736817f, 0.732654f, 0.728464f, 0.724247f, 0.720002f, 0.715731f, 0.711432f, 0.707107f,
			0.702755f, 0.698376f, 0.693971f, 0.689541f, 0.685084f, 0.680601f, 0.676093f, 0.671559f, 0.667000f, 0.662416f, 0.657807f, 0.653173f, 0.648514f, 0.643832f, 0.639124f, 0.634393f, 0.629638f, 0.624859f, 0.620057f, 0.615232f, 0.610383f, 0.605511f, 0.600616f, 0.595699f, 0.590760f, 0.585798f, 0.580814f, 0.575808f, 0.570781f, 0.565732f, 0.560662f, 0.555570f,
			0.550458f, 0.545325f, 0.540171f, 0.534998f, 0.529804f, 0.524590f, 0.519356f, 0.514103f, 0.508830f, 0.503538f, 0.498228f, 0.492898f, 0.487550f, 0.482184f, 0.476799f, 0.471397f, 0.465977f, 0.460539f, 0.455084f, 0.449611f, 0.444122f, 0.438616f, 0.433094f, 0.427555f, 0.422000f, 0.416430f, 0.410843f, 0.405241f, 0.399624f, 0.393992f, 0.388345f, 0.382683f,
			0.377007f, 0.371317f, 0.365613f, 0.359895f, 0.354163f, 0.348419f, 0.342661f, 0.336890f, 0.331106f, 0.325310f, 0.319502f, 0.313682f, 0.307850f, 0.302006f, 0.296151f, 0.290285f, 0.284407f, 0.278520f, 0.272621f, 0.266713f, 0.260794f, 0.254866f, 0.248928f, 0.242980f, 0.237024f, 0.231058f, 0.225084f, 0.219101f, 0.213110f, 0.207111f, 0.201105f, 0.195090f,
			0.189069f, 0.183040f, 0.177004f, 0.170962f, 0.164913f, 0.158858f, 0.152797f, 0.146730f, 0.140658f, 0.134581f, 0.128498f, 0.122411f, 0.116319f, 0.110222f, 0.104122f, 0.098017f, 0.091909f, 0.085797f, 0.079682f, 0.073564f, 0.067444f, 0.061321f, 0.055195f, 0.049068f, 0.042938f, 0.036807f, 0.030675f, 0.024541f, 0.018407f, 0.012272f, 0.006136f, -0.000000f,
			-0.006136f, -0.012272f, -0.018407f, -0.024541f, -0.030675f, -0.036807f, -0.042938f, -0.049068f, -0.055195f, -0.061321f, -0.067444f, -0.073565f, -0.079682f, -0.085797f, -0.091909f, -0.098017f, -0.104122f, -0.110222f, -0.116319f, -0.122411f, -0.128498f, -0.134581f, -0.140658f, -0.146731f, -0.152797f, -0.158858f, -0.164913f, -0.170962f, -0.177004f, -0.183040f, -0.189069f, -0.195090f,
			-0.201105f, -0.207111f, -0.213110f, -0.219101f, -0.225084f, -0.231058f, -0.237024f, -0.242980f, -0.248928f, -0.254866f, -0.260794f, -0.266713f, -0.272621f, -0.278520f, -0.284408f, -0.290285f, -0.296151f, -0.302006f, -0.307850f, -0.313682f, -0.319502f, -0.325310f, -0.331106f, -0.336890f, -0.342661f, -0.348419f, -0.354164f, -0.359895f, -0.365613f, -0.371317f, -0.377007f, -0.382684f,
			-0.388345f, -0.393992f, -0.399624f, -0.405241f, -0.410843f, -0.416430f, -0.422000f, -0.427555f, -0.433094f, -0.438616f, -0.444122f, -0.449611f, -0.455084f, -0.460539f, -0.465977f, -0.471397f, -0.476799f, -0.482184f, -0.487550f, -0.492898f, -0.498228f, -0.503538f, -0.508830f, -0.514103f, -0.519356f, -0.524590f, -0.529804f, -0.534998f, -0.540172f, -0.545325f, -0.550458f, -0.555570f,
			-0.560662f, -0.565732f, -0.570781f, -0.575808f, -0.580814f, -0.585798f, -0.590760f, -0.595699f, -0.600617f, -0.605511f, -0.610383f, -0.615232f, -0.620057f, -0.624860f, -0.629638f, -0.634393f, -0.639124f, -0.643832f, -0.648514f, -0.653173f, -0.657807f, -0.662416f, -0.667000f, -0.671559f, -0.676093f, -0.680601f, -0.685084f, -0.689541f, -0.693971f, -0.698376f, -0.702755f, -0.707107f,
			-0.711432f, -0.715731f, -0.720003f, -0.724247f, -0.728464f, -0.732654f, -0.736817f, -0.740951f, -0.745058f, -0.749137f, -0.753187f, -0.757209f, -0.761202f, -0.765167f, -0.769103f, -0.773010f, -0.776889f, -0.780737f, -0.784557f, -0.788346f, -0.792107f, -0.795837f, -0.799537f, -0.803208f, -0.806848f, -0.810457f, -0.814036f, -0.817585f, -0.821103f, -0.824589f, -0.828045f, -0.831470f,
			-0.834863f, -0.838225f, -0.841555f, -0.844854f, -0.848120f, -0.851355f, -0.854558f, -0.857729f, -0.860867f, -0.863973f, -0.867046f, -0.870087f, -0.873095f, -0.876070f, -0.879012f, -0.881921f, -0.884797f, -0.887640f, -0.890449f, -0.893224f, -0.895966f, -0.898674f, -0.901349f, -0.903989f, -0.906596f, -0.909168f, -0.911706f, -0.914210f, -0.916679f, -0.919114f, -0.921514f, -0.923880f,
			-0.926210f, -0.928506f, -0.930767f, -0.932993f, -0.935184f, -0.937339f, -0.939459f, -0.941544f, -0.943593f, -0.945607f, -0.947586f, -0.949528f, -0.951435f, -0.953306f, -0.955141f, -0.956940f, -0.958703f, -0.960431f, -0.962121f, -0.963776f, -0.965394f, -0.966976f, -0.968522f, -0.970031f, -0.971504f, -0.972940f, -0.974339f, -0.975702f, -0.977028f, -0.978317f, -0.979570f, -0.980785f,
			-0.981964f, -0.983105f, -0.984210f, -0.985278f, -0.986308f, -0.987301f, -0.988258f, -0.989177f, -0.990058f, -0.990903f, -0.991710f, -0.992480f, -0.993212f, -0.993907f, -0.994565f, -0.995185f, -0.995767f, -0.996313f, -0.996820f, -0.997290f, -0.997723f, -0.998118f, -0.998476f, -0.998795f, -0.999078f, -0.999322f, -0.999529f, -0.999699f, -0.999831f, -0.999925f, -0.999981f, -1.000000f,
			-0.999981f, -0.999925f, -0.999831f, -0.999699f, -0.999529f, -0.999322f, -0.999078f, -0.998795f, -0.998476f, -0.998118f, -0.997723f, -0.997290f, -0.996820f, -0.996313f, -0.995767f, -0.995185f, -0.994565f, -0.993907f, -0.993212f, -0.992480f, -0.991710f, -0.990903f, -0.990058f, -0.989177f, -0.988258f, -0.987301f, -0.986308f, -0.985278f, -0.984210f, -0.983105f, -0.981964f, -0.980785f,
			-0.979570f, -0.978317f, -0.977028f, -0.975702f, -0.974339f, -0.972940f, -0.971504f, -0.970031f, -0.968522f, -0.966976f, -0.965394f, -0.963776f, -0.962121f, -0.960430f, -0.958703f, -0.956940f, -0.955141f, -0.953306f, -0.951435f, -0.949528f, -0.947586f, -0.945607f, -0.943593f, -0.941544f, -0.939459f, -0.937339f, -0.935183f, -0.932993f, -0.930767f, -0.928506f, -0.926210f, -0.923880f,
			-0.921514f, -0.919114f, -0.916679f, -0.914210f, -0.911706f, -0.909168f, -0.906596f, -0.903989f, -0.901349f, -0.898674f, -0.895966f, -0.893224f, -0.890449f, -0.887640f, -0.884797f, -0.881921f, -0.879012f, -0.876070f, -0.873095f, -0.870087f, -0.867046f, -0.863973f, -0.860867f, -0.857729f, -0.854558f, -0.851355f, -0.848120f, -0.844854f, -0.841555f, -0.838225f, -0.834863f, -0.831470f,
			-0.828045f, -0.824589f, -0.821102f, -0.817585f, -0.814036f, -0.810457f, -0.806847f, -0.803208f, -0.799537f, -0.795837f, -0.792107f, -0.788346f, -0.784557f, -0.780737f, -0.776888f, -0.773010f, -0.769103f, -0.765167f, -0.761202f, -0.757209f, -0.753187f, -0.749136f, -0.745058f, -0.740951f, -0.736817f, -0.732654f, -0.728464f, -0.724247f, -0.720002f, -0.715731f, -0.711432f, -0.707107f,
			-0.702755f, -0.698376f, -0.693971f, -0.689541f, -0.685084f, -0.680601f, -0.676093f, -0.671559f, -0.667000f, -0.662416f, -0.657807f, -0.653173f, -0.648514f, -0.643832f, -0.639124f, -0.634393f, -0.629638f, -0.624859f, -0.620057f, -0.615232f, -0.610383f, -0.605511f, -0.600616f, -0.595699f, -0.590760f, -0.585798f, -0.580814f, -0.575808f, -0.570781f, -0.565732f, -0.560661f, -0.555570f,
			-0.550458f, -0.545325f, -0.540171f, -0.534997f, -0.529803f, -0.524589f, -0.519356f, -0.514103f, -0.508830f, -0.503538f, -0.498228f, -0.492898f, -0.487550f, -0.482184f, -0.476799f, -0.471397f, -0.465976f, -0.460539f, -0.455083f, -0.449611f, -0.444122f, -0.438616f, -0.433094f, -0.427555f, -0.422000f, -0.416429f, -0.410843f, -0.405241f, -0.399624f, -0.393992f, -0.388345f, -0.382683f,
			-0.377007f, -0.371317f, -0.365613f, -0.359895f, -0.354164f, -0.348419f, -0.342661f, -0.336890f, -0.331106f, -0.325310f, -0.319502f, -0.313682f, -0.307850f, -0.302006f, -0.296151f, -0.290285f, -0.284407f, -0.278520f, -0.272621f, -0.266713f, -0.260794f, -0.254865f, -0.248927f, -0.242980f, -0.237023f, -0.231058f, -0.225084f, -0.219101f, -0.213110f, -0.207111f, -0.201105f, -0.195090f,
			-0.189069f, -0.183040f, -0.177004f, -0.170962f, -0.164913f, -0.158858f, -0.152797f, -0.146730f, -0.140658f, -0.134581f, -0.128498f, -0.122411f, -0.116318f, -0.110222f, -0.104121f, -0.098017f, -0.091909f, -0.085797f, -0.079682f, -0.073564f, -0.067444f, -0.061320f, -0.055195f, -0.049067f, -0.042938f, -0.036807f, -0.030675f, -0.024541f, -0.018407f, -0.012272f, -0.006136f, 0.000000f,
			0.006136f, 0.012272f, 0.018407f, 0.024541f, 0.030675f, 0.036807f, 0.042938f, 0.049068f, 0.055195f, 0.061321f, 0.067444f, 0.073565f, 0.079683f, 0.085798f, 0.091909f, 0.098017f, 0.104122f, 0.110223f, 0.116319f, 0.122411f, 0.128498f, 0.134581f, 0.140658f, 0.146730f, 0.152797f, 0.158858f, 0.164913f, 0.170962f, 0.177004f, 0.183040f, 0.189069f, 0.195090f,
			0.201105f, 0.207112f, 0.213110f, 0.219101f, 0.225084f, 0.231058f, 0.237024f, 0.242980f, 0.248928f, 0.254866f, 0.260794f, 0.266713f, 0.272622f, 0.278520f, 0.284408f, 0.290285f, 0.296151f, 0.302006f, 0.307850f, 0.313682f, 0.319502f, 0.325310f, 0.331106f, 0.336890f, 0.342661f, 0.348419f, 0.354164f, 0.359895f, 0.365613f, 0.371317f, 0.377008f, 0.382684f,
			0.388345f, 0.393992f, 0.399624f, 0.405242f, 0.410843f, 0.416430f, 0.422001f, 0.427555f, 0.433094f, 0.438617f, 0.444122f, 0.449612f, 0.455084f, 0.460539f, 0.465976f, 0.471397f, 0.476799f, 0.482184f, 0.487550f, 0.492898f, 0.498228f, 0.503538f, 0.508830f, 0.514103f, 0.519356f, 0.524590f, 0.529804f, 0.534998f, 0.540172f, 0.545325f, 0.550458f, 0.555570f,
			0.560662f, 0.565732f, 0.570781f, 0.575808f, 0.580814f, 0.585798f, 0.590760f, 0.595699f, 0.600616f, 0.605511f, 0.610383f, 0.615232f, 0.620057f, 0.624860f, 0.629638f, 0.634393f, 0.639124f, 0.643832f, 0.648514f, 0.653173f, 0.657807f, 0.662416f, 0.667000f, 0.671559f, 0.676093f, 0.680601f, 0.685084f, 0.689541f, 0.693972f, 0.698376f, 0.702755f, 0.707107f,
			0.711432f, 0.715731f, 0.720003f, 0.724247f, 0.728464f, 0.732654f, 0.736817f, 0.740951f, 0.745058f, 0.749136f, 0.753187f, 0.757209f, 0.761202f, 0.765167f, 0.769103f, 0.773011f, 0.776889f, 0.780737f, 0.784557f, 0.788347f, 0.792107f, 0.795837f, 0.799537f, 0.803208f, 0.806848f, 0.810457f, 0.814037f, 0.817585f, 0.821103f, 0.824590f, 0.828045f, 0.831470f,
			0.834863f, 0.838225f, 0.841555f, 0.844854f, 0.848120f, 0.851355f, 0.854558f, 0.857729f, 0.860867f, 0.863973f, 0.867046f, 0.870087f, 0.873095f, 0.876070f, 0.879012f, 0.881921f, 0.884797f, 0.887640f, 0.890449f, 0.893224f, 0.895966f, 0.898675f, 0.901349f, 0.903989f, 0.906596f, 0.909168f, 0.911706f, 0.914210f, 0.916679f, 0.919114f, 0.921514f, 0.923880f,
			0.926210f, 0.928506f, 0.930767f, 0.932993f, 0.935184f, 0.937339f, 0.939459f, 0.941544f, 0.943594f, 0.945607f, 0.947586f, 0.949528f, 0.951435f, 0.953306f, 0.955141f, 0.956940f, 0.958704f, 0.960431f, 0.962121f, 0.963776f, 0.965395f, 0.966977f, 0.968522f, 0.970031f, 0.971504f, 0.972940f, 0.974339f, 0.975702f, 0.977028f, 0.978317f, 0.979570f, 0.980785f,
			0.981964f, 0.983106f, 0.984210f, 0.985278f, 0.986308f, 0.987301f, 0.988258f, 0.989177f, 0.990058f, 0.990903f, 0.991710f, 0.992480f, 0.993212f, 0.993907f, 0.994565f, 0.995185f, 0.995767f, 0.996313f, 0.996820f, 0.997290f, 0.997723f, 0.998118f, 0.998476f, 0.998795f, 0.999078f, 0.999322f, 0.999529f, 0.999699f, 0.999831f, 0.999925f, 0.999981
	};

	float LUT_tan[1024] =
	{
			0.000000f,
			0.006136f, 0.012272f, 0.018410f, 0.024549f, 0.030689f, 0.036832f, 0.042978f, 0.049127f, 0.055280f, 0.061436f, 0.067598f, 0.073764f, 0.079937f, 0.086115f, 0.092300f, 0.098491f, 0.104691f, 0.110898f, 0.117114f, 0.123338f, 0.129572f, 0.135816f, 0.142071f, 0.148336f, 0.154613f, 0.160901f, 0.167202f, 0.173516f, 0.179844f, 0.186185f, 0.192541f, 0.198912f,
			0.205299f, 0.211702f, 0.218121f, 0.224558f, 0.231012f, 0.237484f, 0.243976f, 0.250487f, 0.257018f, 0.263570f, 0.270143f, 0.276737f, 0.283354f, 0.289995f, 0.296659f, 0.303347f, 0.310060f, 0.316799f, 0.323564f, 0.330355f, 0.337175f, 0.344023f, 0.350899f, 0.357806f, 0.364743f, 0.371710f, 0.378710f, 0.385743f, 0.392808f, 0.399908f, 0.407043f, 0.414214f,
			0.421421f, 0.428665f, 0.435948f, 0.443270f, 0.450631f, 0.458034f, 0.465478f, 0.472965f, 0.480495f, 0.488070f, 0.495691f, 0.503358f, 0.511072f, 0.518835f, 0.526648f, 0.534511f, 0.542426f, 0.550394f, 0.558416f, 0.566493f, 0.574626f, 0.582817f, 0.591067f, 0.599377f, 0.607748f, 0.616182f, 0.624680f, 0.633243f, 0.641873f, 0.650571f, 0.659339f, 0.668179f,
			0.677091f, 0.686077f, 0.695139f, 0.704279f, 0.713499f, 0.722799f, 0.732183f, 0.741651f, 0.751205f, 0.760848f, 0.770582f, 0.780408f, 0.790328f, 0.800345f, 0.810462f, 0.820679f, 0.830999f, 0.841426f, 0.851961f, 0.862606f, 0.873365f, 0.884239f, 0.895233f, 0.906347f, 0.917586f, 0.928953f, 0.940449f, 0.952079f, 0.963846f, 0.975753f, 0.987803f, 1.000000f,
			1.012348f, 1.024850f, 1.037510f, 1.050333f, 1.063322f, 1.076481f, 1.089816f, 1.103330f, 1.117028f, 1.130916f, 1.144997f, 1.159278f, 1.173763f, 1.188459f, 1.203370f, 1.218504f, 1.233865f, 1.249461f, 1.265297f, 1.281382f, 1.297721f, 1.314323f, 1.331194f, 1.348344f, 1.365780f, 1.383510f, 1.401544f, 1.419891f, 1.438560f, 1.457562f, 1.476907f, 1.496606f,
			1.516670f, 1.537110f, 1.557940f, 1.579173f, 1.600820f, 1.622897f, 1.645419f, 1.668399f, 1.691856f, 1.715803f, 1.740261f, 1.765247f, 1.790780f, 1.816880f, 1.843569f, 1.870869f, 1.898802f, 1.927394f, 1.956671f, 1.986659f, 2.017387f, 2.048886f, 2.081187f, 2.114322f, 2.148330f, 2.183246f, 2.219110f, 2.255964f, 2.293853f, 2.332824f, 2.372926f, 2.414214f,
			2.456743f, 2.500574f, 2.545771f, 2.592403f, 2.640542f, 2.690266f, 2.741660f, 2.794813f, 2.849821f, 2.906786f, 2.965821f, 3.027044f, 3.090583f, 3.156580f, 3.225185f, 3.296559f, 3.370880f, 3.448341f, 3.529150f, 3.613536f, 3.701749f, 3.794064f, 3.890779f, 3.992225f, 4.098766f, 4.210802f, 4.328783f, 4.453203f, 4.584613f, 4.723630f, 4.870947f, 5.027342f,
			5.193689f, 5.370990f, 5.560377f, 5.763143f, 5.980776f, 6.214990f, 6.467777f, 6.741452f, 7.038750f, 7.362889f, 7.717701f, 8.107789f, 8.538723f, 9.017310f, 9.551948f, 10.153171f, 10.834283f, 11.612404f, 12.509921f, 13.556683f, 14.793393f, 16.277005f, 18.089886f, 20.355477f, 23.267798f, 27.150214f, 32.584786f, 40.735639f, 54.318726f, 81.483299f, 162.973315f, -22877332.428856f,
			-162.970993f, -81.482719f, -54.318468f, -40.735494f, -32.584693f, -27.150149f, -23.267751f, -20.355441f, -18.089858f, -16.276982f, -14.793374f, -13.556667f, -12.509907f, -11.612392f, -10.834273f, -10.153162f, -9.551940f, -9.017302f, -8.538716f, -8.107784f, -7.717696f, -7.362884f, -7.038746f, -6.741448f, -6.467773f, -6.214987f, -5.980773f, -5.763140f, -5.560374f, -5.370988f, -5.193686f, -5.027339f,
			-4.870945f, -4.723628f, -4.584611f, -4.453201f, -4.328781f, -4.210800f, -4.098764f, -3.992223f, -3.890777f, -3.794062f, -3.701748f, -3.613534f, -3.529149f, -3.448340f, -3.370879f, -3.296558f, -3.225184f, -3.156579f, -3.090582f, -3.027043f, -2.965820f, -2.906785f, -2.849820f, -2.794812f, -2.741659f, -2.690265f, -2.640542f, -2.592402f, -2.545771f, -2.500574f, -2.456742f, -2.414213f,
			-2.372925f, -2.332823f, -2.293853f, -2.255964f, -2.219109f, -2.183246f, -2.148330f, -2.114322f, -2.081186f, -2.048885f, -2.017387f, -1.986659f, -1.956670f, -1.927394f, -1.898801f, -1.870868f, -1.843568f, -1.816879f, -1.790779f, -1.765247f, -1.740261f, -1.715803f, -1.691855f, -1.668399f, -1.645418f, -1.622897f, -1.600820f, -1.579172f, -1.557940f, -1.537110f, -1.516669f, -1.496605f,
			-1.476907f, -1.457562f, -1.438560f, -1.419891f, -1.401544f, -1.383510f, -1.365779f, -1.348344f, -1.331194f, -1.314322f, -1.297721f, -1.281381f, -1.265297f, -1.249460f, -1.233865f, -1.218504f, -1.203370f, -1.188459f, -1.173763f, -1.159278f, -1.144997f, -1.130916f, -1.117028f, -1.103330f, -1.089816f, -1.076481f, -1.063321f, -1.050332f, -1.037510f, -1.024850f, -1.012348f, -1.000000f,
			-0.987803f, -0.975753f, -0.963846f, -0.952079f, -0.940449f, -0.928952f, -0.917586f, -0.906347f, -0.895232f, -0.884239f, -0.873365f, -0.862606f, -0.851961f, -0.841426f, -0.830999f, -0.820679f, -0.810461f, -0.800345f, -0.790328f, -0.780407f, -0.770581f, -0.760848f, -0.751205f, -0.741650f, -0.732183f, -0.722799f, -0.713499f, -0.704279f, -0.695139f, -0.686077f, -0.677091f, -0.668179f,
			-0.659339f, -0.650571f, -0.641873f, -0.633243f, -0.624680f, -0.616182f, -0.607748f, -0.599377f, -0.591067f, -0.582817f, -0.574626f, -0.566493f, -0.558416f, -0.550394f, -0.542426f, -0.534511f, -0.526648f, -0.518835f, -0.511072f, -0.503358f, -0.495691f, -0.488070f, -0.480495f, -0.472965f, -0.465478f, -0.458034f, -0.450631f, -0.443269f, -0.435948f, -0.428665f, -0.421420f, -0.414213f,
			-0.407043f, -0.399908f, -0.392808f, -0.385743f, -0.378710f, -0.371710f, -0.364742f, -0.357806f, -0.350899f, -0.344022f, -0.337175f, -0.330355f, -0.323563f, -0.316798f, -0.310060f, -0.303347f, -0.296659f, -0.289995f, -0.283354f, -0.276737f, -0.270142f, -0.263570f, -0.257018f, -0.250487f, -0.243976f, -0.237484f, -0.231012f, -0.224557f, -0.218121f, -0.211702f, -0.205299f, -0.198912f,
			-0.192541f, -0.186185f, -0.179844f, -0.173516f, -0.167202f, -0.160901f, -0.154613f, -0.148336f, -0.142071f, -0.135816f, -0.129572f, -0.123338f, -0.117114f, -0.110898f, -0.104691f, -0.098491f, -0.092300f, -0.086115f, -0.079937f, -0.073764f, -0.067598f, -0.061436f, -0.055279f, -0.049127f, -0.042978f, -0.036832f, -0.030689f, -0.024549f, -0.018410f, -0.012272f, -0.006136f, 0.000000f,
			0.006136f, 0.012273f, 0.018410f, 0.024549f, 0.030689f, 0.036832f, 0.042978f, 0.049127f, 0.055280f, 0.061436f, 0.067598f, 0.073764f, 0.079937f, 0.086115f, 0.092300f, 0.098492f, 0.104691f, 0.110898f, 0.117114f, 0.123338f, 0.129572f, 0.135816f, 0.142071f, 0.148336f, 0.154613f, 0.160901f, 0.167203f, 0.173517f, 0.179844f, 0.186186f, 0.192542f, 0.198913f,
			0.205299f, 0.211702f, 0.218121f, 0.224558f, 0.231012f, 0.237484f, 0.243976f, 0.250487f, 0.257018f, 0.263570f, 0.270143f, 0.276737f, 0.283355f, 0.289995f, 0.296659f, 0.303347f, 0.310060f, 0.316799f, 0.323564f, 0.330355f, 0.337175f, 0.344023f, 0.350899f, 0.357806f, 0.364743f, 0.371711f, 0.378710f, 0.385743f, 0.392809f, 0.399908f, 0.407043f, 0.414214f,
			0.421421f, 0.428665f, 0.435948f, 0.443270f, 0.450631f, 0.458034f, 0.465478f, 0.472965f, 0.480495f, 0.488070f, 0.495691f, 0.503358f, 0.511072f, 0.518835f, 0.526648f, 0.534511f, 0.542426f, 0.550394f, 0.558416f, 0.566493f, 0.574627f, 0.582818f, 0.591067f, 0.599377f, 0.607748f, 0.616182f, 0.624680f, 0.633243f, 0.641873f, 0.650571f, 0.659339f, 0.668179f,
			0.677091f, 0.686077f, 0.695140f, 0.704280f, 0.713499f, 0.722800f, 0.732183f, 0.741651f, 0.751205f, 0.760848f, 0.770582f, 0.780408f, 0.790328f, 0.800346f, 0.810462f, 0.820679f, 0.831000f, 0.841426f, 0.851961f, 0.862606f, 0.873365f, 0.884239f, 0.895232f, 0.906347f, 0.917586f, 0.928953f, 0.940449f, 0.952079f, 0.963846f, 0.975753f, 0.987803f, 1.000000f,
			1.012348f, 1.024850f, 1.037511f, 1.050333f, 1.063322f, 1.076481f, 1.089816f, 1.103330f, 1.117028f, 1.130916f, 1.144997f, 1.159278f, 1.173763f, 1.188459f, 1.203370f, 1.218503f, 1.233865f, 1.249460f, 1.265297f, 1.281382f, 1.297721f, 1.314323f, 1.331195f, 1.348344f, 1.365780f, 1.383510f, 1.401544f, 1.419891f, 1.438561f, 1.457563f, 1.476908f, 1.496607f,
			1.516670f, 1.537111f, 1.557941f, 1.579174f, 1.600821f, 1.622899f, 1.645418f, 1.668399f, 1.691855f, 1.715803f, 1.740261f, 1.765247f, 1.790780f, 1.816880f, 1.843569f, 1.870869f, 1.898802f, 1.927395f, 1.956671f, 1.986659f, 2.017388f, 2.048886f, 2.081187f, 2.114323f, 2.148331f, 2.183247f, 2.219111f, 2.255965f, 2.293854f, 2.332825f, 2.372928f, 2.414216f,
			2.456745f, 2.500573f, 2.545770f, 2.592402f, 2.640541f, 2.690266f, 2.741660f, 2.794813f, 2.849820f, 2.906786f, 2.965821f, 3.027044f, 3.090584f, 3.156581f, 3.225185f, 3.296560f, 3.370881f, 3.448342f, 3.529152f, 3.613538f, 3.701752f, 3.794067f, 3.890782f, 3.992228f, 4.098769f, 4.210808f, 4.328789f, 4.453209f, 4.584620f, 4.723627f, 4.870944f, 5.027338f,
			5.193688f, 5.370989f, 5.560376f, 5.763142f, 5.980775f, 6.214989f, 6.467776f, 6.741456f, 7.038755f, 7.362893f, 7.717707f, 8.107795f, 8.538729f, 9.017317f, 9.551967f, 10.153192f, 10.834307f, 11.612432f, 12.509954f, 13.556721f, 14.793438f, 16.277092f, 18.089993f, 20.355613f, 23.267975f, 27.150102f, 32.584625f, 40.735388f, 54.318632f, 81.483088f, 162.972471f, -83858283.006684f,
			-162.971838f, -81.482930f, -54.318562f, -40.735349f, -32.584600f, -27.150085f, -23.267703f, -20.355405f, -18.089829f, -16.276959f, -14.793328f, -13.556628f, -12.509875f, -11.612364f, -10.834248f, -10.153140f, -9.551921f, -9.017276f, -8.538692f, -8.107762f, -7.717705f, -7.362892f, -7.038753f, -6.741455f, -6.467775f, -6.214988f, -5.980774f, -5.763141f, -5.560375f, -5.370989f, -5.193687f, -5.027337f,
			-4.870943f, -4.723626f, -4.584609f, -4.453199f, -4.328779f, -4.210798f, -4.098760f, -3.992220f, -3.890774f, -3.794059f, -3.701745f, -3.613531f, -3.529145f, -3.448335f, -3.370875f, -3.296554f, -3.225185f, -3.156581f, -3.090584f, -3.027044f, -2.965820f, -2.906786f, -2.849820f, -2.794812f, -2.741660f, -2.690266f, -2.640541f, -2.592402f, -2.545770f, -2.500573f, -2.456742f, -2.414212f,
			-2.372925f, -2.332822f, -2.293851f, -2.255962f, -2.219108f, -2.183244f, -2.148328f, -2.114321f, -2.081184f, -2.048884f, -2.017385f, -1.986657f, -1.956671f, -1.927394f, -1.898802f, -1.870869f, -1.843569f, -1.816880f, -1.790780f, -1.765247f, -1.740261f, -1.715803f, -1.691855f, -1.668399f, -1.645418f, -1.622897f, -1.600820f, -1.579172f, -1.557940f, -1.537110f, -1.516669f, -1.496605f,
			-1.476906f, -1.457561f, -1.438559f, -1.419890f, -1.401543f, -1.383509f, -1.365779f, -1.348344f, -1.331195f, -1.314323f, -1.297721f, -1.281382f, -1.265297f, -1.249460f, -1.233865f, -1.218503f, -1.203370f, -1.188459f, -1.173763f, -1.159278f, -1.144997f, -1.130915f, -1.117028f, -1.103330f, -1.089815f, -1.076481f, -1.063321f, -1.050332f, -1.037510f, -1.024849f, -1.012347f, -0.999999f,
			-0.987802f, -0.975752f, -0.963845f, -0.952079f, -0.940449f, -0.928953f, -0.917586f, -0.906347f, -0.895232f, -0.884239f, -0.873365f, -0.862606f, -0.851960f, -0.841426f, -0.830999f, -0.820679f, -0.810461f, -0.800345f, -0.790328f, -0.780407f, -0.770581f, -0.760848f, -0.751205f, -0.741650f, -0.732182f, -0.722799f, -0.713498f, -0.704279f, -0.695139f, -0.686077f, -0.677090f, -0.668179f,
			-0.659339f, -0.650571f, -0.641873f, -0.633243f, -0.624680f, -0.616182f, -0.607748f, -0.599377f, -0.591067f, -0.582817f, -0.574626f, -0.566493f, -0.558416f, -0.550394f, -0.542426f, -0.534511f, -0.526648f, -0.518835f, -0.511072f, -0.503357f, -0.495690f, -0.488070f, -0.480495f, -0.472964f, -0.465477f, -0.458033f, -0.450631f, -0.443270f, -0.435948f, -0.428665f, -0.421421f, -0.414214f,
			-0.407043f, -0.399908f, -0.392808f, -0.385742f, -0.378710f, -0.371710f, -0.364742f, -0.357806f, -0.350899f, -0.344022f, -0.337175f, -0.330355f, -0.323563f, -0.316798f, -0.310060f, -0.303346f, -0.296658f, -0.289994f, -0.283354f, -0.276737f, -0.270142f, -0.263569f, -0.257018f, -0.250487f, -0.243976f, -0.237484f, -0.231012f, -0.224557f, -0.218121f, -0.211702f, -0.205299f, -0.198912f,
			-0.192541f, -0.186185f, -0.179844f, -0.173516f, -0.167202f, -0.160901f, -0.154612f, -0.148336f, -0.142070f, -0.135816f, -0.129572f, -0.123338f, -0.117113f, -0.110898f, -0.104690f, -0.098491f, -0.092299f, -0.086114f, -0.079937f, -0.073764f, -0.067598f, -0.061436f, -0.055279f, -0.049127f, -0.042978f, -0.036832f, -0.030689f, -0.024549f, -0.018410f, -0.012272f, -0.006136
	};

	float LUT_ctg[1024] =
	{
			0.000000f,
			0.006136f, 0.012272f, 0.018410f, 0.024549f, 0.030689f, 0.036832f, 0.042978f, 0.049127f, 0.055280f, 0.061436f, 0.067598f, 0.073764f, 0.079937f, 0.086115f, 0.092300f, 0.098491f, 0.104691f, 0.110898f, 0.117114f, 0.123338f, 0.129572f, 0.135816f, 0.142071f, 0.148336f, 0.154613f, 0.160901f, 0.167202f, 0.173516f, 0.179844f, 0.186185f, 0.192541f, 0.198912f,
			0.205299f, 0.211702f, 0.218121f, 0.224558f, 0.231012f, 0.237484f, 0.243976f, 0.250487f, 0.257018f, 0.263570f, 0.270143f, 0.276737f, 0.283354f, 0.289995f, 0.296659f, 0.303347f, 0.310060f, 0.316799f, 0.323564f, 0.330355f, 0.337175f, 0.344023f, 0.350899f, 0.357806f, 0.364743f, 0.371710f, 0.378710f, 0.385743f, 0.392808f, 0.399908f, 0.407043f, 0.414214f,
			0.421421f, 0.428665f, 0.435948f, 0.443270f, 0.450631f, 0.458034f, 0.465478f, 0.472965f, 0.480495f, 0.488070f, 0.495691f, 0.503358f, 0.511072f, 0.518835f, 0.526648f, 0.534511f, 0.542426f, 0.550394f, 0.558416f, 0.566493f, 0.574626f, 0.582817f, 0.591067f, 0.599377f, 0.607748f, 0.616182f, 0.624680f, 0.633243f, 0.641873f, 0.650571f, 0.659339f, 0.668179f,
			0.677091f, 0.686077f, 0.695139f, 0.704279f, 0.713499f, 0.722799f, 0.732183f, 0.741651f, 0.751205f, 0.760848f, 0.770582f, 0.780408f, 0.790328f, 0.800345f, 0.810462f, 0.820679f, 0.830999f, 0.841426f, 0.851961f, 0.862606f, 0.873365f, 0.884239f, 0.895233f, 0.906347f, 0.917586f, 0.928953f, 0.940449f, 0.952079f, 0.963846f, 0.975753f, 0.987803f, 1.000000f,
			1.012348f, 1.024850f, 1.037510f, 1.050333f, 1.063322f, 1.076481f, 1.089816f, 1.103330f, 1.117028f, 1.130916f, 1.144997f, 1.159278f, 1.173763f, 1.188459f, 1.203370f, 1.218504f, 1.233865f, 1.249461f, 1.265297f, 1.281382f, 1.297721f, 1.314323f, 1.331194f, 1.348344f, 1.365780f, 1.383510f, 1.401544f, 1.419891f, 1.438560f, 1.457562f, 1.476907f, 1.496606f,
			1.516670f, 1.537110f, 1.557940f, 1.579173f, 1.600820f, 1.622897f, 1.645419f, 1.668399f, 1.691856f, 1.715803f, 1.740261f, 1.765247f, 1.790780f, 1.816880f, 1.843569f, 1.870869f, 1.898802f, 1.927394f, 1.956671f, 1.986659f, 2.017387f, 2.048886f, 2.081187f, 2.114322f, 2.148330f, 2.183246f, 2.219110f, 2.255964f, 2.293853f, 2.332824f, 2.372926f, 2.414214f,
			2.456743f, 2.500574f, 2.545771f, 2.592403f, 2.640542f, 2.690266f, 2.741660f, 2.794813f, 2.849821f, 2.906786f, 2.965821f, 3.027044f, 3.090583f, 3.156580f, 3.225185f, 3.296559f, 3.370880f, 3.448341f, 3.529150f, 3.613536f, 3.701749f, 3.794064f, 3.890779f, 3.992225f, 4.098766f, 4.210802f, 4.328783f, 4.453203f, 4.584613f, 4.723630f, 4.870947f, 5.027342f,
			5.193689f, 5.370990f, 5.560377f, 5.763143f, 5.980776f, 6.214990f, 6.467777f, 6.741452f, 7.038750f, 7.362889f, 7.717701f, 8.107789f, 8.538723f, 9.017310f, 9.551948f, 10.153171f, 10.834283f, 11.612404f, 12.509921f, 13.556683f, 14.793393f, 16.277005f, 18.089886f, 20.355477f, 23.267798f, 27.150214f, 32.584786f, 40.735639f, 54.318726f, 81.483299f, 162.973315f, -22877332.428856f,
			-162.970993f, -81.482719f, -54.318468f, -40.735494f, -32.584693f, -27.150149f, -23.267751f, -20.355441f, -18.089858f, -16.276982f, -14.793374f, -13.556667f, -12.509907f, -11.612392f, -10.834273f, -10.153162f, -9.551940f, -9.017302f, -8.538716f, -8.107784f, -7.717696f, -7.362884f, -7.038746f, -6.741448f, -6.467773f, -6.214987f, -5.980773f, -5.763140f, -5.560374f, -5.370988f, -5.193686f, -5.027339f,
			-4.870945f, -4.723628f, -4.584611f, -4.453201f, -4.328781f, -4.210800f, -4.098764f, -3.992223f, -3.890777f, -3.794062f, -3.701748f, -3.613534f, -3.529149f, -3.448340f, -3.370879f, -3.296558f, -3.225184f, -3.156579f, -3.090582f, -3.027043f, -2.965820f, -2.906785f, -2.849820f, -2.794812f, -2.741659f, -2.690265f, -2.640542f, -2.592402f, -2.545771f, -2.500574f, -2.456742f, -2.414213f,
			-2.372925f, -2.332823f, -2.293853f, -2.255964f, -2.219109f, -2.183246f, -2.148330f, -2.114322f, -2.081186f, -2.048885f, -2.017387f, -1.986659f, -1.956670f, -1.927394f, -1.898801f, -1.870868f, -1.843568f, -1.816879f, -1.790779f, -1.765247f, -1.740261f, -1.715803f, -1.691855f, -1.668399f, -1.645418f, -1.622897f, -1.600820f, -1.579172f, -1.557940f, -1.537110f, -1.516669f, -1.496605f,
			-1.476907f, -1.457562f, -1.438560f, -1.419891f, -1.401544f, -1.383510f, -1.365779f, -1.348344f, -1.331194f, -1.314322f, -1.297721f, -1.281381f, -1.265297f, -1.249460f, -1.233865f, -1.218504f, -1.203370f, -1.188459f, -1.173763f, -1.159278f, -1.144997f, -1.130916f, -1.117028f, -1.103330f, -1.089816f, -1.076481f, -1.063321f, -1.050332f, -1.037510f, -1.024850f, -1.012348f, -1.000000f,
			-0.987803f, -0.975753f, -0.963846f, -0.952079f, -0.940449f, -0.928952f, -0.917586f, -0.906347f, -0.895232f, -0.884239f, -0.873365f, -0.862606f, -0.851961f, -0.841426f, -0.830999f, -0.820679f, -0.810461f, -0.800345f, -0.790328f, -0.780407f, -0.770581f, -0.760848f, -0.751205f, -0.741650f, -0.732183f, -0.722799f, -0.713499f, -0.704279f, -0.695139f, -0.686077f, -0.677091f, -0.668179f,
			-0.659339f, -0.650571f, -0.641873f, -0.633243f, -0.624680f, -0.616182f, -0.607748f, -0.599377f, -0.591067f, -0.582817f, -0.574626f, -0.566493f, -0.558416f, -0.550394f, -0.542426f, -0.534511f, -0.526648f, -0.518835f, -0.511072f, -0.503358f, -0.495691f, -0.488070f, -0.480495f, -0.472965f, -0.465478f, -0.458034f, -0.450631f, -0.443269f, -0.435948f, -0.428665f, -0.421420f, -0.414213f,
			-0.407043f, -0.399908f, -0.392808f, -0.385743f, -0.378710f, -0.371710f, -0.364742f, -0.357806f, -0.350899f, -0.344022f, -0.337175f, -0.330355f, -0.323563f, -0.316798f, -0.310060f, -0.303347f, -0.296659f, -0.289995f, -0.283354f, -0.276737f, -0.270142f, -0.263570f, -0.257018f, -0.250487f, -0.243976f, -0.237484f, -0.231012f, -0.224557f, -0.218121f, -0.211702f, -0.205299f, -0.198912f,
			-0.192541f, -0.186185f, -0.179844f, -0.173516f, -0.167202f, -0.160901f, -0.154613f, -0.148336f, -0.142071f, -0.135816f, -0.129572f, -0.123338f, -0.117114f, -0.110898f, -0.104691f, -0.098491f, -0.092300f, -0.086115f, -0.079937f, -0.073764f, -0.067598f, -0.061436f, -0.055279f, -0.049127f, -0.042978f, -0.036832f, -0.030689f, -0.024549f, -0.018410f, -0.012272f, -0.006136f, 0.000000f,
			0.006136f, 0.012273f, 0.018410f, 0.024549f, 0.030689f, 0.036832f, 0.042978f, 0.049127f, 0.055280f, 0.061436f, 0.067598f, 0.073764f, 0.079937f, 0.086115f, 0.092300f, 0.098492f, 0.104691f, 0.110898f, 0.117114f, 0.123338f, 0.129572f, 0.135816f, 0.142071f, 0.148336f, 0.154613f, 0.160901f, 0.167203f, 0.173517f, 0.179844f, 0.186186f, 0.192542f, 0.198913f,
			0.205299f, 0.211702f, 0.218121f, 0.224558f, 0.231012f, 0.237484f, 0.243976f, 0.250487f, 0.257018f, 0.263570f, 0.270143f, 0.276737f, 0.283355f, 0.289995f, 0.296659f, 0.303347f, 0.310060f, 0.316799f, 0.323564f, 0.330355f, 0.337175f, 0.344023f, 0.350899f, 0.357806f, 0.364743f, 0.371711f, 0.378710f, 0.385743f, 0.392809f, 0.399908f, 0.407043f, 0.414214f,
			0.421421f, 0.428665f, 0.435948f, 0.443270f, 0.450631f, 0.458034f, 0.465478f, 0.472965f, 0.480495f, 0.488070f, 0.495691f, 0.503358f, 0.511072f, 0.518835f, 0.526648f, 0.534511f, 0.542426f, 0.550394f, 0.558416f, 0.566493f, 0.574627f, 0.582818f, 0.591067f, 0.599377f, 0.607748f, 0.616182f, 0.624680f, 0.633243f, 0.641873f, 0.650571f, 0.659339f, 0.668179f,
			0.677091f, 0.686077f, 0.695140f, 0.704280f, 0.713499f, 0.722800f, 0.732183f, 0.741651f, 0.751205f, 0.760848f, 0.770582f, 0.780408f, 0.790328f, 0.800346f, 0.810462f, 0.820679f, 0.831000f, 0.841426f, 0.851961f, 0.862606f, 0.873365f, 0.884239f, 0.895232f, 0.906347f, 0.917586f, 0.928953f, 0.940449f, 0.952079f, 0.963846f, 0.975753f, 0.987803f, 1.000000f,
			1.012348f, 1.024850f, 1.037511f, 1.050333f, 1.063322f, 1.076481f, 1.089816f, 1.103330f, 1.117028f, 1.130916f, 1.144997f, 1.159278f, 1.173763f, 1.188459f, 1.203370f, 1.218503f, 1.233865f, 1.249460f, 1.265297f, 1.281382f, 1.297721f, 1.314323f, 1.331195f, 1.348344f, 1.365780f, 1.383510f, 1.401544f, 1.419891f, 1.438561f, 1.457563f, 1.476908f, 1.496607f,
			1.516670f, 1.537111f, 1.557941f, 1.579174f, 1.600821f, 1.622899f, 1.645418f, 1.668399f, 1.691855f, 1.715803f, 1.740261f, 1.765247f, 1.790780f, 1.816880f, 1.843569f, 1.870869f, 1.898802f, 1.927395f, 1.956671f, 1.986659f, 2.017388f, 2.048886f, 2.081187f, 2.114323f, 2.148331f, 2.183247f, 2.219111f, 2.255965f, 2.293854f, 2.332825f, 2.372928f, 2.414216f,
			2.456745f, 2.500573f, 2.545770f, 2.592402f, 2.640541f, 2.690266f, 2.741660f, 2.794813f, 2.849820f, 2.906786f, 2.965821f, 3.027044f, 3.090584f, 3.156581f, 3.225185f, 3.296560f, 3.370881f, 3.448342f, 3.529152f, 3.613538f, 3.701752f, 3.794067f, 3.890782f, 3.992228f, 4.098769f, 4.210808f, 4.328789f, 4.453209f, 4.584620f, 4.723627f, 4.870944f, 5.027338f,
			5.193688f, 5.370989f, 5.560376f, 5.763142f, 5.980775f, 6.214989f, 6.467776f, 6.741456f, 7.038755f, 7.362893f, 7.717707f, 8.107795f, 8.538729f, 9.017317f, 9.551967f, 10.153192f, 10.834307f, 11.612432f, 12.509954f, 13.556721f, 14.793438f, 16.277092f, 18.089993f, 20.355613f, 23.267975f, 27.150102f, 32.584625f, 40.735388f, 54.318632f, 81.483088f, 162.972471f, -83858283.006684f,
			-162.971838f, -81.482930f, -54.318562f, -40.735349f, -32.584600f, -27.150085f, -23.267703f, -20.355405f, -18.089829f, -16.276959f, -14.793328f, -13.556628f, -12.509875f, -11.612364f, -10.834248f, -10.153140f, -9.551921f, -9.017276f, -8.538692f, -8.107762f, -7.717705f, -7.362892f, -7.038753f, -6.741455f, -6.467775f, -6.214988f, -5.980774f, -5.763141f, -5.560375f, -5.370989f, -5.193687f, -5.027337f,
			-4.870943f, -4.723626f, -4.584609f, -4.453199f, -4.328779f, -4.210798f, -4.098760f, -3.992220f, -3.890774f, -3.794059f, -3.701745f, -3.613531f, -3.529145f, -3.448335f, -3.370875f, -3.296554f, -3.225185f, -3.156581f, -3.090584f, -3.027044f, -2.965820f, -2.906786f, -2.849820f, -2.794812f, -2.741660f, -2.690266f, -2.640541f, -2.592402f, -2.545770f, -2.500573f, -2.456742f, -2.414212f,
			-2.372925f, -2.332822f, -2.293851f, -2.255962f, -2.219108f, -2.183244f, -2.148328f, -2.114321f, -2.081184f, -2.048884f, -2.017385f, -1.986657f, -1.956671f, -1.927394f, -1.898802f, -1.870869f, -1.843569f, -1.816880f, -1.790780f, -1.765247f, -1.740261f, -1.715803f, -1.691855f, -1.668399f, -1.645418f, -1.622897f, -1.600820f, -1.579172f, -1.557940f, -1.537110f, -1.516669f, -1.496605f,
			-1.476906f, -1.457561f, -1.438559f, -1.419890f, -1.401543f, -1.383509f, -1.365779f, -1.348344f, -1.331195f, -1.314323f, -1.297721f, -1.281382f, -1.265297f, -1.249460f, -1.233865f, -1.218503f, -1.203370f, -1.188459f, -1.173763f, -1.159278f, -1.144997f, -1.130915f, -1.117028f, -1.103330f, -1.089815f, -1.076481f, -1.063321f, -1.050332f, -1.037510f, -1.024849f, -1.012347f, -0.999999f,
			-0.987802f, -0.975752f, -0.963845f, -0.952079f, -0.940449f, -0.928953f, -0.917586f, -0.906347f, -0.895232f, -0.884239f, -0.873365f, -0.862606f, -0.851960f, -0.841426f, -0.830999f, -0.820679f, -0.810461f, -0.800345f, -0.790328f, -0.780407f, -0.770581f, -0.760848f, -0.751205f, -0.741650f, -0.732182f, -0.722799f, -0.713498f, -0.704279f, -0.695139f, -0.686077f, -0.677090f, -0.668179f,
			-0.659339f, -0.650571f, -0.641873f, -0.633243f, -0.624680f, -0.616182f, -0.607748f, -0.599377f, -0.591067f, -0.582817f, -0.574626f, -0.566493f, -0.558416f, -0.550394f, -0.542426f, -0.534511f, -0.526648f, -0.518835f, -0.511072f, -0.503357f, -0.495690f, -0.488070f, -0.480495f, -0.472964f, -0.465477f, -0.458033f, -0.450631f, -0.443270f, -0.435948f, -0.428665f, -0.421421f, -0.414214f,
			-0.407043f, -0.399908f, -0.392808f, -0.385742f, -0.378710f, -0.371710f, -0.364742f, -0.357806f, -0.350899f, -0.344022f, -0.337175f, -0.330355f, -0.323563f, -0.316798f, -0.310060f, -0.303346f, -0.296658f, -0.289994f, -0.283354f, -0.276737f, -0.270142f, -0.263569f, -0.257018f, -0.250487f, -0.243976f, -0.237484f, -0.231012f, -0.224557f, -0.218121f, -0.211702f, -0.205299f, -0.198912f,
			-0.192541f, -0.186185f, -0.179844f, -0.173516f, -0.167202f, -0.160901f, -0.154612f, -0.148336f, -0.142070f, -0.135816f, -0.129572f, -0.123338f, -0.117113f, -0.110898f, -0.104690f, -0.098491f, -0.092299f, -0.086114f, -0.079937f, -0.073764f, -0.067598f, -0.061436f, -0.055279f, -0.049127f, -0.042978f, -0.036832f, -0.030689f, -0.024549f, -0.018410f, -0.012272f, -0.006136
	};
}


